
using System;
using System.Runtime.InteropServices;

namespace LightScribe
{
	/**
	* information about the media in the drive
	*/
	[StructLayout(LayoutKind.Sequential)]
	public struct MediaInformation
	{
	    /**
	     * Boolean set to 1 when there is media present, 0 otherwise.
	     */
	    public bool MediaPresent;
	    /**
	     * Boolean set to 1 when the label side of the media
	     * is facing the laser, 0 otherwise. 
	     */
	    public bool MediaOrientedForLabeling; 
	    /** Manufacturer ID */
	    public short Manufacturer;
	    /** The inner radius of the printable area, in microns. */
	    public int InnerRadius;
	    /** The outer radius of the printable area, in microns. */
	    public int OuterRadius;
	    /** The foreground color of this media */
	    public ColorRGB Foreground;
	    /** The background color of this media */
	    public ColorRGB Background;
	    /** The shape and size of this media */
	    public DiscShapeAndSize ShapeAndSize;
		
		public override string ToString ()
		{
			return string.Format("{{{0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}}}",
			                     MediaPresent, MediaOrientedForLabeling, Manufacturer, InnerRadius, OuterRadius,
			                     Foreground, Background, ShapeAndSize);
		}
	}
}
